home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 7
/
Amiga Format AFCD07 (Dec 1996, Issue 91).iso
/
serious
/
shareware
/
programming
/
muirexx2.1
/
demos
/
muirexxbuild
/
ask_object.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-08-24
|
32KB
|
963 lines
/* */
options results
parse arg '='obj
address BUILD
window ID SET CLOSE
parse var obj gobj .
gobj = strip(gobj)
select
when index(gobj,'end') = 1 then nop
when index(gobj,'window') = 1 then call open_ask_window(obj)
when index(gobj,'group') = 1 then call open_ask_group(obj)
when index(gobj,'menu') = 1 then call open_ask_menu(obj)
when index(gobj,'do') = 1 then call open_ask_do(obj)
when index(gobj,'item') = 1 then call open_ask_item(obj)
when index(gobj,'space') = 1 then call open_ask_space(obj)
when index(gobj,'label') = 1 then call open_ask_label(obj)
when index(gobj,'view') = 1 then call open_ask_view(obj)
when index(gobj,'gauge') = 1 then call open_ask_gauge(obj)
when index(gobj,'meter') = 1 then call open_ask_gauge(obj)
when index(gobj,'button') = 1 then call open_ask_gadget(obj)
when index(gobj,'text') = 1 then call open_ask_gadget(obj)
when index(gobj,'switch') = 1 then call open_ask_gadget(obj)
when index(gobj,'image') = 1 then call open_ask_image(obj)
when index(gobj,'check') = 1 then call open_ask_image(obj)
when index(gobj,'cycle') = 1 then call open_ask_cycle(obj)
when index(gobj,'radio') = 1 then call open_ask_cycle(obj)
when index(gobj,'string') = 1 then call open_ask_string(obj)
when index(gobj,'popasl') = 1 then call open_ask_string(obj)
when index(gobj,'poplist') = 1 then call open_ask_string(obj)
when index(gobj,'slider') = 1 then call open_ask_slider(obj)
when index(gobj,'popslider') = 1 then call open_ask_slider(obj)
when index(gobj,'knob') = 1 then call open_ask_slider(obj)
when index(gobj,'dirlist') = 1 then call open_ask_dirlist(obj)
when index(gobj,'volumelist') = 1 then call open_ask_volumelist(obj)
when index(gobj,'list') = 1 then call open_ask_list(obj)
when index(gobj,'object') = 1 then call open_ask_object(obj)
when index(gobj,'application') = 1 then call open_ask_application(obj)
when index(gobj,'method') = 1 then call open_ask_method(obj)
otherwise call open_ask_generic(obj)
end
exit
open_ask_window: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'TITLE """'glabel'"""' .,'ATTRS 'gattrs
window ID SET TITLE '"Window Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Title:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT glabel
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_group: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
Weight = 0x80421d1f /* V4 i.. WORD */
TRUE = 1
FALSE = 0
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'LABELS """'glabel'"""' .,'ATTRS 'gattrs
window ID SET TITLE '"Group Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Labels:"'
label SINGLE '"Frame:"'
label SINGLE '"Horiz:"'
label SINGLE '"Type:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT glabel
group HORIZ
group
if index(args,'FRAME') ~= 0 then check ID C1 ATTRS Selected TRUE
else check ID C1 ATTRS Selected FALSE
if index(args,'HORIZ') ~= 0 then check ID C2 ATTRS Selected TRUE
else check ID C2 ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
cycle ID L1 LABELS '"NORMAL,REGISTER,VIRTUAL,SCROLL"' ATTRS Weight 0
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
if index(line,'REGISTER') ~= 0 then cycle ID L1 LABEL '"REGISTER"'
if index(line,'VIRTUAL') ~= 0 then cycle ID L1 LABEL '"VIRTUAL"'
if index(line,'SCROLL') ~= 0 then cycle ID L1 LABEL '"SCROLL"'
call attrscomm gattrs
return
open_ask_menu: procedure
parse arg line
parse var line obj .,'ID 'gid .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"Menu Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Label:"'
endgroup
group
string ID S1 CONTENT gid
string ID S2 CONTENT glabel
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_do: procedure
parse arg line
CycleChain = 0x80421ce7 /* V11 isg LONG */
Frame = 0x8042ac64 /* V4 i.. LONG */
Frame_None = 0
parse var line obj counter' = 'begin' to 'finish
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"Do Loop"' COMMAND '"build:set_object ['gobj']"'
group HORIZ
space HORIZ
group HORIZ 'FRAME'
label DOUBLE 'do'
string ID P1 ATTRS CycleChain 1 Frame Frame_None CONTENT counter
label DOUBLE '"="'
string ID P2 ATTRS CycleChain 1 Frame Frame_None CONTENT begin
label DOUBLE 'to'
string ID P3 ATTRS CycleChain 1 Frame Frame_None CONTENT finish
endgroup
space HORIZ
endgroup
call okgroup gobj
endwindow
return
open_ask_item: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
window ID SET TITLE '"Item Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Label:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT glabel
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_space: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
TRUE = 1
FALSE = 0
parse var line obj opt
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"Space Object"' COMMAND '"build:set_object ['gobj']"'
group HORIZ
group
label SINGLE '"Bar:"'
label SINGLE '"Horiz:"'
label DOUBLE '"Value:"'
endgroup
group
group HORIZ
group
if index(opt,'BAR') ~= 0 then do
check ID C1 ATTRS Selected TRUE
opt = substr(opt,index(opt,'BAR')+4)
end
else check ID C1 ATTRS Selected FALSE
if index(opt,'HORIZ') ~= 0 then do
check ID C2 ATTRS Selected TRUE
opt = substr(opt,index(opt,'HORIZ')+6)
end
else check ID C2 ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
string ID S1 CONTENT opt
endgroup
endgroup
call okgroup gobj
endwindow
return
open_ask_label: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
TRUE = 1
FALSE = 0
parse var line obj .,'"""'glabel'"""'
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"Label Object"' COMMAND '"build:set_object ['gobj']"'
group HORIZ
group
label SINGLE '"Left:"'
label SINGLE '"Center:"'
label SINGLE '"Single:"'
label SINGLE '"Double:"'
label DOUBLE '"Label:"'
endgroup
group
group HORIZ
group
if index(line,'LEFT') ~= 0 then check ID C1 ATTRS Selected TRUE
else check ID C1 ATTRS Selected FALSE
if index(line,'CENTER') ~= 0 then check ID C2 ATTRS Selected TRUE
else check ID C2 ATTRS Selected FALSE
if index(line,'SINGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
else check ID C3 ATTRS Selected FALSE
if index(line,'DOUBLE') ~= 0 then check ID C4 ATTRS Selected TRUE
else check ID C4 ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
string ID S1 CONTENT glabel
endgroup
endgroup
call okgroup gobj
endwindow
return
open_ask_view: procedure
parse arg line
parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'FILE """'gfile'"""' .,'ATTRS 'gattrs 'STRING' .,'STRING "'gstring'"'
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"View Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"File:"'
label DOUBLE '"String:"'
endgroup
group
string ID S1 CONTENT gid
string ID S2 CONTENT ghelp
string ID S3 CONTENT gnode
popasl ID S4 CONTENT gfile
string ID S5 CONTENT gstring
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_gauge: procedure
parse arg line
parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
gobj = insert(obj,'',pos(obj,line)-1)
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Label:"'
endgroup
group
string ID S1 CONTENT gid
string ID S2 CONTENT ghelp
string ID S3 CONTENT gnode
string ID S4 CONTENT glabel
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_gadget: procedure
parse arg line
MUIA_Frame = 0x8042ac64 /* V4 i.. LONG */
Disabled = 0x80423661 /* V4 isg BOOL */
Selected = 0x8042654b /* V4 isg BOOL */
Weight = 0x80421d1f /* V4 i.. WORD */
TRUE = 1
FALSE = 0
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ICON "'gicon'"' .,'PICT "'gpict'"' .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Image,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Label:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT glabel
endgroup
endgroup
group
space
group HORIZ
space HORIZ
group ID GIMG
switch ID AIMG ATTRS MUIA_Frame 0
endgroup
space HORIZ
endgroup
space
popasl ID S7 COMMAND '"build:ask_comm SET %s"'
group HORIZ
cycle ID L2 COMMAND '"build:ask_comm IMAGE"' LABELS '"Icon,Picture,None"' ATTRS Weight 0
space HORIZ
group HORIZ
label SINGLE '"Transparent:"'
if index(args,'TRANS') ~= 0 then check ID C1 COMMAND '"build:ask_comm SET"' ATTRS Selected TRUE
else check ID C1 COMMAND '"build:ask_comm SET"' ATTRS Selected FALSE
endgroup
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
switch ID AIMG APP COMMAND '"build:ask_comm SET %s"'
if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
select
when gicon ~= '' then do
check ID C1 ATTRS Disabled TRUE
cycle ID L2 LABEL 'Icon'
popasl ID S7 CONTENT gicon
call 'build:ask_comm' SET gicon
end
when gpict ~= '' then do
cycle ID L2 LABEL 'Picture'
popasl ID S7 CONTENT gpict
call 'build:ask_comm' SET gpict
end
otherwise do
check ID C1 ATTRS Disabled TRUE
cycle ID L2 LABEL 'None'
end
end
call attrscomm gattrs
return
open_ask_image: procedure
parse arg line
MUIA_Frame = 0x8042ac64 /* V4 i.. LONG */
Weight = 0x80421d1f /* V4 i.. WORD */
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'SPEC "'gspec':'gimage'"' .,'STRINGS """'gstring'"""' .,'ATTRS 'gattrs
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Image,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Strings:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT gstring
endgroup
endgroup
group
space
group HORIZ
space HORIZ
group ID GIMG
image ID AIMG ATTRS MUIA_Frame 0
endgroup
space HORIZ
endgroup
space
group HORIZ
cycle ID R1 COMMAND '"build:ask_comm ISET"' ATTRS Weight 0 LABELS '0,1,2,3,4,5,6'
label DOUBLE ':'
poplist ID S7 COMMAND '"build:ask_comm ISET"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
if gimage = '' then do
gspec = 6
gimage = 15
end
cycle ID R1 LABEL gspec
call 'build:ask_comm' ISET gimage
call attrscomm gattrs
return
open_ask_cycle: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABELS """'glabel'"""' .,'ATTRS 'gattrs
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Labels:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT glabel
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_string: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABELS """'glabels'"""' .,'ATTRS 'gattrs 'CONTENT' .,'CONTENT "'glabel'"'
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Content:"'
if obj = 'poplist' then label DOUBLE '"Labels:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT glabel
if obj = 'poplist' then string ID S7 CONTENT glabels
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_slider: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_list: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
Weight = 0x80421d1f /* V4 i.. WORD */
TRUE = 1
FALSE = 0
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'POS 'gpos .,'ATTRS 'gattrs 'STRING' .,'STRING 'gstring
window ID SET TITLE '"List Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Pos:"'
label DOUBLE '"String:"'
label SINGLE '"Insert:"'
label SINGLE '"Nodup:"'
label SINGLE '"Toggle:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT gpos
string ID S7 CONTENT gstring
group HORIZ
group
if index(args,'INSERT') ~= 0 then check ID C1 ATTRS Selected TRUE
else check ID C1 ATTRS Selected FALSE
if index(args,'NODUP') ~= 0 then check ID C2 ATTRS Selected TRUE
else check ID C2 ATTRS Selected FALSE
if index(args,'TOGGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
else check ID C3 ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
call attrscomm gattrs
return
open_ask_dirlist: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
Weight = 0x80421d1f /* V4 i.. WORD */
TRUE = 1
FALSE = 0
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'PATH "'gpath'"' .,'PATTERN "'gpattern'"' .,'ATTRS 'gattrs
window ID SET TITLE '"Dirlist Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Path:"'
label DOUBLE '"Pattern:"'
label SINGLE '"Reread:"'
label SINGLE '"Toggle:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S6 CONTENT gpath
string ID S7 CONTENT gpattern
group HORIZ
group
if index(args,'REREAD') ~= 0 then check ID C1 ATTRS Selected TRUE
else check ID C1 ATTRS Selected FALSE
if index(args,'TOGGLE') ~= 0 then check ID C2 ATTRS Selected TRUE
else check ID C2 ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
call attrscomm gattrs
return
open_ask_volumelist: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
window ID SET TITLE '"Volumelist Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_object: procedure
parse arg line
Selected = 0x8042654b /* V4 isg BOOL */
List_Format = 0x80423c0a /* V4 isg STRPTR */
TRUE = 1
FALSE = 0
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
else gcommand = ''
parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'CLASS "'gclass'"' .,'TRIG 'gtrig .,'VAL 'gval .,'ATTRS 'gattrs
window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
group REGISTER LABELS '"Options,Classes,Attributes"'
group HORIZ
group
label DOUBLE '"ID:"'
label DOUBLE '"Command:"'
label DOUBLE '"Port:"'
label DOUBLE '"Help:"'
label DOUBLE '"Node:"'
label DOUBLE '"Trigger:"'
label DOUBLE '"Value:"'
endgroup
group
string ID S1 CONTENT gid
popasl ID S2 CONTENT gcommand
string ID S3 CONTENT gport
string ID S4 CONTENT ghelp
string ID S5 CONTENT gnode
string ID S7 CONTENT gtrig
string ID S8 CONTENT gval
endgroup
endgroup
group
dirlist ID D1 COMMAND '"build:ask_comm CSET %s"' ATTRS List_Format '""'
group HORIZ
group
label DOUBLE '"Class:"'
label SINGLE '"Boopsi:"'
endgroup
group
string ID S6 CONTENT gclass
group HORIZ
group
if index(args,'BOOPSI') ~= 0 then check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected TRUE
else check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected FALSE
endgroup
space HORIZ
endgroup
endgroup
endgroup
endgroup
call attrsgroup
endgroup
call okgroup gobj
endwindow
check ID C1
if result then dirlist ID D1 PATH '"SYS:Classes/Gadgets"'
else dirlist ID D1 PATH '"MUI:Libs/MUI"'
call attrscomm gattrs
return
open_ask_generic: procedure
parse arg line
window ID SET TITLE '"Generic Object"' COMMAND '"build:set_object []"'
string ID P1 CONTENT line
call okgroup gobj
endwindow
return
open_ask_application: procedure
parse arg line
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
parse var args 'ATTRS 'gattrs
window ID SET TITLE '"Application"' COMMAND '"build:set_object ['gobj']"'
call attrsgroup
call okgroup gobj
endwindow
call attrscomm gattrs
return
open_ask_method: procedure
parse arg line
Listview_DragType = 0x80425cd3 /* V11 isg LONG */
List_DragSortable = 0x80426099 /* V11 isg BOOL */
Listview_DragType_Immediate = 1
List_Insert_Bottom = -3
List_GetEntry_Active = -1
parse var line obj args
gobj = insert(obj,'',pos(obj,line)-1)
if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
else gid = ''
parse var args gattrs
window ID SET TITLE '"Method"' COMMAND '"build:set_object ['gobj']"'
group
group HORIZ
label DOUBLE '"ID:"'
string ID S1 CONTENT gid
endgroup
list ID ALST DROP COMMAND '"build:attrs MADD %s"',
ATTRS Listview_DragType Listview_DragType_Immediate,
List_DragSortable TRUE
string COMMAND '"list ID ALST INSERT POS List_Insert_Bottom STRING %s"' PORT BUILD
group
button COMMAND '"build:attrs MLIST"' LABEL 'Method List'
button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
button COMMAND '"build:attrs VLIST"' LABEL 'Variable List'
button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
endgroup
endgroup
call okgroup gobj
endwindow
list ID ALST COMMAND '"build:attrs ASKSET %s"'
do while gattrs ~= ''
parse var gattrs name gattrs
list ID ALST INSERT POS List_Insert_Bottom STRING name
end
return
attrsgroup: procedure
List_Format = 0x80423c0a /* V4 isg STRPTR */
List_GetEntry_Active = -1
group
list ID ALST DROP COMMAND '"build:attrs ADD %s"' ATTRS List_Format '"BAR,"',
HELP '"Drag and drop an attribute from list.\nDouble click on attribute to edit."'
string COMMAND '"build:attrs ADD %s"'
group HORIZ
button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
endgroup
endgroup
return
attrscomm: procedure
parse arg gattrs
List_Insert_Bottom = -3
list ID ALST COMMAND '"build:attrs ASKSET %s"'
do while gattrs ~= ''
parse var gattrs name value gattrs
list ID ALST INSERT POS List_Insert_Bottom STRING name',='value
end
return
okgroup: procedure
parse arg gobj
group HORIZ
button COMMAND '"build:set_object ['gobj']"' LABEL 'OK'
space HORIZ
button COMMAND '"window ID SET CLOSE"' PORT BUILD LABEL 'CANCEL'
endgroup
return